using System.Collections.Generic;

namespace DZJIFC.Model;

public class RulePack
{
    public string Id { get; set; } = string.Empty;
    public string City { get; set; } = string.Empty; // SZ / CD
    public string Version { get; set; } = "1.0.0";
    public List<Rule> Rules { get; set; } = new();
}

public class Rule
{
    public string Id { get; set; } = string.Empty;
    /// <summary> A very small filter language, e.g. IfcType=="IfcFlowSegment" && System=="HVAC" </summary>
    public string Match { get; set; } = string.Empty;
    public List<RuleAction> Actions { get; set; } = new();
}

public class RuleAction
{
    public string Action { get; set; } = string.Empty; // AddPset, SetProp
    public string Pset { get; set; } = string.Empty;
    public string Param { get; set; } = string.Empty;
    public string Value { get; set; } = string.Empty;
}